package MediciADistanza.Control;

import java.util.List;

import MediciADistanza.Control.User.Module.ModuleControl;
import MediciADistanza.Control.User.SpecificUserCTRL.OperatoreSTControl;
import MediciADistanza.Boundary.user.Module.SpecializzazioniBND;
import MediciADistanza.Entity.Specializzazione;
import MediciADistanza.Entity.User.ModelData.DatiSpecializzazione;


/**
 * Gestisce la visualizzazione e la modifica delle specializzazioni da parte del ST
 * 
 * @author Andrea Iann&igrave;
 */
public class ModificaSpecializzazioniControl extends ModuleControl {
	/**
	 * Lista di specializzazioni
	 */
	private List<Specializzazione> listaSpecializzazioni;
	/**
	 * Specializzazione selezionata
	 */
	private Specializzazione selected;
	/**
	 * Crea il coltrol per la gestione delle specializzazioni
	 * 
	 * @param controlPrincipale Control utente principale
	 * @param specializzazioni	Lista delle specializzazioni
	 */
	public ModificaSpecializzazioniControl(OperatoreSTControl controlPrincipale, List<Specializzazione> specializzazioni) {
		super(controlPrincipale);
		//inserisco una specializzazione vuota
		selected = new Specializzazione(0,"-NuovaSpecializzazione-");
		listaSpecializzazioni.add(0,selected);		
		frameModulo = new SpecializzazioniBND(this, listaSpecializzazioni);
		
		showSelected();
	}
	/**
	 * Da richiamare se selezionata una nuova specializzazione
	 * @param selezionata	Nuova specializzazione selezionata
	 */
	public void specSelezionata(Specializzazione selezionata) {
		selected = selezionata;
		showSelected();
	}
	/**
	 * Mostra la specializzazione selezionata
	 */
	private void showSelected (){
		((SpecializzazioniBND)frameModulo).setNomeSpec(selected.getNome());
	}
	/**
	 * Invia i dati inseriti
	 */
	@Override
	public void sendModule() {
		// TODO Auto-generated method stub
		datiModulo = new DatiSpecializzazione();
		
		selected.setNome(((SpecializzazioniBND)frameModulo).getNomeSpec());
		
		((DatiSpecializzazione)datiModulo).setSpecializzazione(selected);
		
		super.sendModule();
	}
	/**
	 * Esce da modulo
	 */
	@Override
	public void exit() {
		// TODO Auto-generated method stub
		
	}
	 
}
 
